home *** CD-ROM | disk | FTP | other *** search
/ TPUG - Toronto PET Users Group / TPUG Users Group CD / TPUG Users Group CD.iso / AMIGA / AMICUS / AMIBEST1.ADF / AmigaBasicStuff / BasicGadgets / Listing3 < prev    next >
Text File  |  1987-07-22  |  1KB  |  37 lines

  1. ' Listing #3
  2. ' Part 3 of 4, Amiga Basic gadget subprograms
  3. ' Bryan D. Catley, September 1986
  4. '
  5. SUB GetGdgt (Ga%,Gb%,T1(),T2$(),type) STATIC
  6. SHARED MouseX%,MouseY%,MouseInd
  7. WHILE MOUSE(0)=0:WEND
  8. r%=CSRLIN:c%=POS(0)
  9. mx=MOUSE(1):my=MOUSE(2)
  10. MouseX%=mx:MouseY%=my:MouseInd=0
  11. FOR n=Ga% TO Gb%
  12.   IF mx>T1(n,0) AND mx<T1(n,0)+T1(n,2) THEN
  13.     IF my>T1(n,1) AND my<T1(n,1)+T1(n,3) THEN
  14.       bg=T1(n,4):fg=T1(n,5):bo=T1(n,6)
  15.       IF bo>-1 THEN
  16.         x1=T1(n,0)+2:y1=T1(n,1)+2
  17.         x2=x1+T1(n,2)-4:y2=y1+T1(n,3)-4
  18.         LINE(x1,y1)-(x2,y2),fg,bf
  19.         COLOR bg,fg:row%=INT(y1/8+2):col%=INT(x1/8+2)
  20.         LOCATE row%,col%:PRINT T2$(n)
  21.       ELSE
  22.         IF bo=-1 THEN
  23.           x1=T1(n,0):y1=T1(n,1):x2=x1+T1(n,2):y2=y1+T1(n,3)
  24.           LINE(x1,y1)-(x2,y2),fg,bf:LINE(x1,y1)-(x2,y2),bg,b
  25.         END IF
  26.       END IF
  27.       type=n-Ga%+1:n=Gb%:MouseInd=1
  28.       IF bo>-1 THEN n%=type+Ga%-1
  29.     END IF
  30.   END IF
  31. NEXT n
  32. WHILE MOUSE(0)<>0:WEND
  33. IF type<>0 AND bo>-1 THEN DrawGdgts n%,n%,T1(),T2$()
  34. LOCATE r%,c%
  35. END SUB
  36.  
  37.